The embodiments disclosed herein relate to a method and system for providing a non-repudiable proof that a certain set of tasks were completed before an entity (user or system) could perform the next task in the workflow. While the exemplary embodiment is particularly directed to the art of electronic document processing and will be thus described with specific reference thereto, it will be appreciated that the exemplary embodiment may have usefulness in other fields and applications.
By way of background, a workflow represents a flow of work. In a business, for example, suppose that one of the members of the business is going to purchase an article. First, the person prepares a purchase slip and then that person brings the purchase slip to the superior. The superior checks the purchase slip, stamps the approval, and sends the purchase slip to the accounting department. Based on the purchase slip, the accounting department orders the article. Thus, the purchase slip flows from the originating person to the superior, and then from the superior to the accounting department, thus advancing the workflow. Therefore, a workflow can be considered a sequence of tasks. A task can be further divided into sub-tasks. Tasks can be performed by persons as in the foregoing example, and can automatically be performed by computers as, for example, in a printing job.
In an ad-hoc workflow, however, there is no pre-defined workflow model for the business process. That is, the business process is built ad-hocly as it is enacted using distributed services (activities). For instance, in the health care environment a new or existing patient may go to the doctor's office for treatment of an ailment. If it is a new patient, medical records are generated. The patient may undergo one or more medical tests, and in that case the patient's medical records, including various documents, are updated. Typically, the physician will then review the patient's medical records (and test results) and make a diagnosis. Once again, the patient's medical records, including at least some of the various documents, are updated (or deleted), this time by the physician and/or a nurse. In some instances, the patient may be referred to one or more surgeons for further testing and/or medical procedures. In this scenario, various medical personnel are reviewing and updating the patient's medical records, including receptionists, nurses, physicians, testing department, surgeons, etc. During this process new documents may be added, at least some of the documents may be modified, and at least some of the documents may be deleted.
Previous developments depended upon an audit log stored on a central server that was used to determine if a certain set of tasks were performed. Not only are the audit logs subject to hacker attacks, but they could not be used in ad-hoc workflows that span different organizations, each having its own network or domain servers.
Therefore, there is a need to provide a non-repudiable proof that a certain set of tasks were completed before an entity (user or system) could perform the next task in the workflow. Otherwise a user (e.g., an employee) could alter one or more of their actions relating to previous tasks and pretend that the previous set of actions had never taken place or had taken place in a different manner.